package com.draw;

// Draw 类，封装绘制不同图形的功能
public class Draw {
    // 属性：高度
    private int height;

    // 构造函数：初始化高度
    public Draw(int height) {
        if (height > 3) {
            this.height = height;
        } else {
            System.out.println("高度必须大于3行！");
            this.height = 4; // 默认高度为4
        }
    }

    // 方法1：绘制三角形
    public void drawTriangle() {
        System.out.println("绘制三角形：");
        for (int i = 1; i <= height; i++) {
            // 打印每行的星号数量
            for (int j = 1; j <= i; j++) {
                System.out.print("*");
            }
            System.out.println(); // 换行
        }
    }

    // 方法2：绘制矩形
    public void drawRectangle() {
        System.out.println("绘制矩形：");
        for (int i = 1; i <= height; i++) {
            // 每一行打印与高度相同数量的星号
            for (int j = 1; j <= height * 2; j++) {
                System.out.print("*");
            }
            System.out.println(); // 换行
        }
    }

    // 方法3：绘制正方形
    public void drawSquare() {
        System.out.println("绘制正方形：");
        for (int i = 1; i <= height; i++) {
            for (int j = 1; j <= height*3; j++) {
                System.out.print("*");
            }
            System.out.println(); // 换行
        }
    }

    // 方法4：绘制平行四边形
    public void drawParallelogram() {
        System.out.println("绘制平行四边形：");
        for (int i = 1; i <= height; i++) {
            // 打印每行的前导空格
            for (int j = 1; j <= i - 1; j++) {
                System.out.print(" ");
            }
            // 打印星号
            for (int j = 1; j <= height * 2; j++) {
                System.out.print("*");
            }
            System.out.println(); // 换行
        }
    }
}

// 主程序
class Main {
    public static void main(String[] args) {
        // 创建一个 Draw 对象，设定高度为5
        Draw draw = new Draw(5);

        // 绘制三角形
        draw.drawTriangle();

        // 绘制矩形
        draw.drawRectangle();

        // 绘制正方形
        draw.drawSquare();

        // 绘制平行四边形
        draw.drawParallelogram();
    }
}

